package interviewclassic;

/**
 * @author ZhanBo
 * @date 2020/7/6
 */
public class Solution0101 {

    public static void main(String[] args) {
        String  a ="abc";
        String  b ="a"+"";
        System.out.println(isUnique("ab12312312c"));
    }

    /**
     * 面试题 01.01. 判定字符是否唯一 难度：简单
     * 实现一个算法，确定一个字符串 s 的所有字符是否全都不同。
     * 输入: s = "leetcode"
     * 输出: false
     * 输入: s = "abc"
     * 输出: true
     * @param astr
     * @return
     */
    public static boolean isUnique(String astr) {
        if (astr==null || astr.length()==0 || astr.length() ==1){
            return true;
        }
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0 ; i <astr.length() ; i++){
            if (!stringBuffer.toString().contains(astr.charAt(i)+"")){
                stringBuffer.append(astr.charAt(i));
            }
        }
        return stringBuffer.toString().equals(astr);
    }

    public boolean isUnique2(String astr) {
        //方法1：用map/set存放
        //方法2：indexof  lastindexof
        //方法3：arr[ch - 'a']!=0

        for (char ch: astr.toCharArray()){
            if (astr.indexOf(ch) != astr.lastIndexOf(ch)) {
                return false;
            }
        }
        return true;
    }

}
